Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed RC input timing jitter in IOMCU #13410

Merged
merged 8 commits into from
Jan 31, 2020
Merged

Conversation

tridge
Copy link
Contributor

@tridge tridge commented Jan 29, 2020

This fixes a problem found by @VDLJu
https://discuss.ardupilot.org/t/urgent-s-bus-input-on-4-0-1-is-stuttering-often-100-300ms-up-to-500ms/51591
The primary cause was high CPU load on IOMCU decoding input pulses unnecessarily while decoding a UART based protocol like SBUS or DSM

@tridge tridge added the ChibiOS label Jan 29, 2020
@rmackay9
Copy link
Contributor

I test flew this on my Hexsoon EDU450 with CubeOrange and PPM Sum receiver and didn't notice any problems.

@amilcarlucas amilcarlucas added this to the Copter 3.7 milestone Jan 29, 2020
@amilcarlucas
Copy link
Contributor

Can this be backported ASAP ?

@rmackay9
Copy link
Contributor

@amilcarlucas, yes but it's also in a very sensitive area so we need to test it enough to be sure it's safe. I think we will want various devs to alpha test it and then back port it to Copter-4.0 over the next few days and then beta test it for a week or two.

this allows disabling pulse input at runtime to lower CPU load on
IOMCU when decoding via a UART
and use pulse_input_enable() to disable pulse input when not needed
and cleanup use of mutexes in RC input
this prevents a race where we continually fail to get new input
@Pedals2Paddles
Copy link
Contributor

Here are some logs from the Solo, which uses Spektrum DSM. Smooth flight.

Solo Logs.zip

@tridge tridge merged commit c8395bb into ArduPilot:master Jan 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants